# 递归 ：自己调用自己，并且要有结束的出口

def func(a):
    if a == 4:
        return 18
    else:
        func(a+1)


print(func(1))     # 返回为None
# 函数在运行时只是递进之后，返回值却没有归回来，函数在最后一次运行结束时
# 将18返回给了倒数第二次递进，二倒数第二次没有继续将值返回给下一层，所以返回为None
# 递归是有递有归
def func1(a):
    if a == 4:
        return 18
    else:
        return func1(a+1)


print(func1(1))


